Thiết kế và mô hình Cơ_sở_dữ_liệu

Nhiệm vụ đầu tiên của một nhà thiết kế cơ sở dữ liệu là tạo ra một mô hình dữ liệu khái niệm phản ánh cấu trúc của thông tin sẽ được lưu giữ trong cơ sở dữ liệu. Một cách tiếp cận phổ biến cho việc này là phát triển một mô hình quan hệ thực thể, thường với sự trợ giúp của các công cụ vẽ. Một cách tiếp cận phổ biến khác là Ngôn ngữ mô hình thống nhất. Một mô hình dữ liệu thành công sẽ phản ánh chính xác trạng thái có thể có của thế giới bên ngoài đang được mô hình hóa: ví dụ: nếu mọi người có thể có nhiều hơn một số điện thoại, nó sẽ cho phép nắm bắt thông tin này. Thiết kế một mô hình dữ liệu khái niệm tốt đòi hỏi sự hiểu biết tốt về miền ứng dụng; nó thường liên quan đến việc đặt câu hỏi sâu sắc về những điều mà một tổ chức quan tâm, như "khách hàng cũng có thể là nhà cung cấp không?" hoặc "nếu một sản phẩm được bán với hai hình thức đóng gói khác nhau, đó là cùng một sản phẩm hay sản phẩm khác nhau? "hoặc" nếu một chiếc máy bay bay từ New York đến Dubai qua Frankfurt, đó có phải là một hoặc hai chuyến bay (hoặc thậm chí là ba) không? ". Các câu trả lời cho những câu hỏi này thiết lập các định nghĩa về thuật ngữ được sử dụng cho các thực thể (khách hàng, sản phẩm, chuyến bay, phân khúc chuyến bay) và các mối quan hệ và thuộc tính của chúng.

Sản xuất mô hình dữ liệu khái niệm đôi khi liên quan đến đầu vào từ các quy trình kinh doanh hoặc phân tích quy trình công việc trong tổ chức. Điều này có thể giúp thiết lập những thông tin cần thiết trong cơ sở dữ liệu và những gì có thể bị bỏ lại. Ví dụ, nó có thể giúp khi quyết định liệu cơ sở dữ liệu có cần giữ dữ liệu lịch sử cũng như dữ liệu hiện tại hay không.

Đã tạo ra một mô hình dữ liệu khái niệm mà người dùng hài lòng, giai đoạn tiếp theo là dịch nó thành một lược đồ thực hiện các cấu trúc dữ liệu có liên quan trong cơ sở dữ liệu. Quá trình này thường được gọi là thiết kế cơ sở dữ liệu logic và đầu ra là một mô hình dữ liệu lôgic được thể hiện dưới dạng lược đồ. Trong khi mô hình dữ liệu khái niệm (về lý thuyết ít nhất) không phụ thuộc vào sự lựa chọn công nghệ cơ sở dữ liệu, mô hình dữ liệu lôgic sẽ được biểu thị theo mô hình cơ sở dữ liệu cụ thể được DBMS chọn. (Mô hình dữ liệu thuật ngữ và mô hình cơ sở dữ liệu thường được sử dụng thay thế cho nhau, nhưng trong bài viết này, chúng tôi sử dụng mô hình dữ liệu để thiết kế cơ sở dữ liệu cụ thể và mô hình cơ sở dữ liệu cho ký hiệu mô hình được sử dụng để thể hiện thiết kế đó.)

Mô hình cơ sở dữ liệu phổ biến nhất cho cơ sở dữ liệu đa năng là mô hình quan hệ, hay chính xác hơn là mô hình quan hệ được biểu thị bằng ngôn ngữ SQL. Quá trình tạo ra một thiết kế cơ sở dữ liệu logic bằng mô hình này sử dụng một phương pháp có phương pháp được gọi là chuẩn hóa. Mục tiêu của chuẩn hóa là đảm bảo rằng mỗi "thực tế" cơ bản chỉ được ghi lại ở một nơi, để các phần chèn, cập nhật và xóa tự động duy trì tính nhất quán.

Giai đoạn cuối cùng của thiết kế cơ sở dữ liệu là đưa ra các quyết định ảnh hưởng đến hiệu suất, khả năng mở rộng, phục hồi, bảo mật và tương tự, phụ thuộc vào DBMS cụ thể. Điều này thường được gọi là thiết kế cơ sở dữ liệu vật lý và đầu ra là mô hình dữ liệu vật lý. Mục tiêu chính trong giai đoạn này là tính độc lập dữ liệu, nghĩa là các quyết định được đưa ra cho mục đích tối ưu hóa hiệu suất sẽ vô hình đối với người dùng cuối và ứng dụng. Có hai loại độc lập dữ liệu: độc lập dữ liệu vật lý và độc lập dữ liệu logic. Thiết kế vật lý được điều khiển chủ yếu bởi các yêu cầu về hiệu suất và đòi hỏi kiến thức tốt về khối lượng công việc và các mẫu truy cập dự kiến và hiểu biết sâu sắc về các tính năng được cung cấp bởi DBMS đã chọn.

Một khía cạnh khác của thiết kế cơ sở dữ liệu vật lý là bảo mật. Nó bao gồm cả việc xác định kiểm soát truy cập cho các đối tượng cơ sở dữ liệu cũng như xác định các mức và phương thức bảo mật cho chính dữ liệu.

Mô hình

Cắt dán năm loại mô hình cơ sở dữ liệu

Mô hình cơ sở dữ liệu là một loại mô hình dữ liệu xác định cấu trúc logic của cơ sở dữ liệu và xác định cơ bản theo cách thức dữ liệu có thể được lưu trữ, sắp xếp và thao tác. Ví dụ phổ biến nhất của mô hình cơ sở dữ liệu là mô hình quan hệ (hoặc xấp xỉ SQL của quan hệ), sử dụng định dạng dựa trên bảng.

Các mô hình dữ liệu logic phổ biến cho cơ sở dữ liệu bao gồm:

  • Cơ sở dữ liệu điều hướng
    • Mô hình cơ sở dữ liệu phân cấp
    • Mô hình mạng
    • Cơ sở dữ liệu đồ thị
  • Mô hình quan hệ
  • Mô hình quan hệ Entity
    • Mô hình quan hệ thực thể nâng cao
  • Mô hình đối tượng
  • Mô hình tài liệu
  • Mô hình giá trị thuộc tính Entity
  • Lược đồ sao

Một cơ sở dữ liệu quan hệ đối tượng kết hợp hai cấu trúc liên quan.

Các mô hình dữ liệu vật lý bao gồm:

  • Chỉ số đảo ngược
  • Tập tin phẳng

Các mô hình khác bao gồm:

  • Mô hình liên kết
  • Mô hình đa chiều
  • Mô hình mảng
  • Mô hình đa giá trị

Các mô hình chuyên biệt được tối ưu hóa cho các loại dữ liệu cụ thể:

  • Cơ sở dữ liệu XML
  • Mô hình ngữ nghĩa
  • Cửa hàng nội dung
  • Cửa hàng sự kiện
  • Mô hình chuỗi thời gian

Cấp độ xem bên ngoài, khái niệm và nội bộ

Chế độ xem dữ liệu truyền thống [34]

Một hệ thống quản lý cơ sở dữ liệu cung cấp ba khung nhìn của dữ liệu cơ sở dữ liệu:

  • Cấp độ bên ngoài xác định cách mỗi nhóm người dùng cuối nhìn thấy tổ chức dữ liệu trong cơ sở dữ liệu. Một cơ sở dữ liệu có thể có bất kỳ số lượt xem nào ở cấp độ bên ngoài.
  • Mức khái niệm thống nhất các quan điểm bên ngoài khác nhau thành một chế độ xem toàn cầu tương thích.[35] Nó cung cấp tổng hợp của tất cả các cấp độ xem bên ngoài. Nó nằm ngoài phạm vi của những người dùng cuối cơ sở dữ liệu khác nhau và được các nhà phát triển ứng dụng cơ sở dữ liệu và quản trị viên cơ sở dữ liệu quan tâm.
  • Cấp độ nội bộ (hoặc cấp độ vật lý) là tổ chức nội bộ của dữ liệu bên trong DBMS. Nó liên quan đến chi phí, hiệu suất, khả năng mở rộng và các vấn đề hoạt động khác. Nó liên quan đến bố trí lưu trữ dữ liệu, sử dụng các cấu trúc lưu trữ như chỉ mục để nâng cao hiệu suất. Đôi khi, nó lưu trữ dữ liệu của các chế độ xem riêng lẻ (chế độ xem được cụ thể hóa), được tính toán từ dữ liệu chung, nếu có sự biện minh về hiệu suất cho sự dư thừa đó. Nó cân bằng tất cả các yêu cầu về hiệu suất của các khung nhìn bên ngoài, có thể xung đột, trong nỗ lực tối ưu hóa hiệu suất tổng thể trên tất cả các hoạt động.

Mặc dù thường chỉ có một chế độ xem khái niệm (hoặc logic) và vật lý (hoặc nội bộ) của dữ liệu, có thể có bất kỳ số lượt xem bên ngoài khác nhau. Điều này cho phép người dùng xem thông tin cơ sở dữ liệu theo cách liên quan đến kinh doanh hơn là từ quan điểm xử lý kỹ thuật. Ví dụ: bộ phận tài chính của một công ty cần chi tiết thanh toán của tất cả nhân viên như một phần chi phí của công ty, nhưng không cần chi tiết về nhân viên là mối quan tâm của bộ phận nhân sự. Do đó, các bộ phận khác nhau cần quan điểm khác nhau về cơ sở dữ liệu của công ty.

Kiến trúc cơ sở dữ liệu ba cấp liên quan đến khái niệm độc lập dữ liệu, một trong những động lực ban đầu chính của mô hình quan hệ. Ý tưởng là những thay đổi được thực hiện ở một mức độ nhất định không ảnh hưởng đến chế độ xem ở cấp độ cao hơn. Ví dụ, các thay đổi ở cấp độ nội bộ không ảnh hưởng đến các chương trình ứng dụng được viết bằng giao diện cấp khái niệm, điều này làm giảm tác động của việc thực hiện các thay đổi vật lý để cải thiện hiệu suất.

Khung nhìn khái niệm cung cấp một mức độ gián tiếp giữa bên trong và bên ngoài. Một mặt, nó cung cấp một khung nhìn chung cho cơ sở dữ liệu, độc lập với các cấu trúc khung nhìn bên ngoài khác nhau và mặt khác, nó trừu tượng hóa các chi tiết về cách dữ liệu được lưu trữ hoặc quản lý (mức nội bộ). Về nguyên tắc, mọi cấp độ và thậm chí mọi chế độ xem bên ngoài đều có thể được trình bày bởi một mô hình dữ liệu khác nhau. Trong thực tế, một DBMS nhất định sử dụng cùng một mô hình dữ liệu cho cả mức độ bên ngoài và mức khái niệm (ví dụ: mô hình quan hệ). Cấp độ bên trong, được ẩn bên trong DBMS và phụ thuộc vào việc triển khai nó, đòi hỏi một mức độ chi tiết khác và sử dụng các loại cấu trúc dữ liệu riêng của nó.

Tách rời các cấp độ bên ngoài, khái niệm và bên trong là một tính năng chính của việc triển khai mô hình cơ sở dữ liệu quan hệ thống trị cơ sở dữ liệu thế kỷ 21.[35]

Tài liệu tham khảo

WikiPedia: Cơ_sở_dữ_liệu http://databases.about.com/od/sql/a/sqlfundamental... http://drdobbs.com/blogs/database/228700616 http://www.embedded-computing.com/articles/id/?202... http://publib.boulder.ibm.com/infocenter/db2luw/v9... http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?... http://www.ibmpressbooks.com/articles/article.asp?... http://www.merriam-webster.com/dictionary/administ... http://www.merriam-webster.com/dictionary/retrieva... http://www.merriam-webster.com/dictionary/update http://www.obitko.com/tutorials/ontologies-semanti...